The present disclosure relates to Voice-over-IP (VOIP) systems, and more specifically, to balancing workloads of multi-control units (MCUs) associated with VOIP conferences hosted by the MCUs.
VOIP has become an important application class, with VOIP client applications being widely used by businesses and individuals. The reliability and reduced costs of basic two-party VOIP communications has encouraged the emergence of multi-party VOIP conferencing facilities. However, Voice-over-IP (VOIP) performance depends on a number of network-related factors, including available bandwidth, end to-end delay, packet loss and jitter. Variance in these parameters can degrade VOIP system performance and the Quality-of-Experience (QoE) perceived by conference participants. Additional, application specific factors—such as choice of codec, codec parameters, and jitter buffer sizing—can also impact QoE.
Correspondingly, it is more difficult to manage VOIP system and/or MCU performance and to ensure acceptable MCU performance and/or QoE in multi-party VOIP sessions. At the same time, it is important for implementers of VOIP applications to ensure acceptable QoE of VOIP sessions and take mitigating actions when QoE or other VOIP system metrics degrade to unacceptable levels.
VOIP conferencing systems can have multiple MCU nodes available and can include a “load balancer” that is responsible for distributing the participants among several MCUs based on the current load on the different MCUs. Load balancing can include solutions that automatically select an MCU for a VOIP session, suggest an MCU for a VOIP session and leave final selection to the participants, or simply allow participants in a VOIP session to manually select an MCU. However, such solutions lack a capability to dynamically detect degradation of VOIP system metrics (such as MCU performance or VOIP session QoE) and dynamically transfer a VOIP from a hosting MCU to an alternate MCU that can improve those VOIP system metrics.